/**
  ******************************************************************************
  * @文件名           : dri_slaver.c
  * @作者             : citunhk
  * @功能介绍         : 从机驱动
  *	@日期             : 2022.11.1
  ******************************************************************************
  * @注意
  *
  * 本文件中不应调用上层文件
  *
  ******************************************************************************
  *更改记录
  *日期 修改人 修改内容
  *
  *
  *
  ******************************************************************************
  */

#ifndef __DIR_SLAVER_H
#define __DIR_SLAVER_H

#include "main.h"

#define RS485_SELVER_TX_NUM 200
#define RS485_SELVER_RX_NUM 200

#define Num_SingleRegister  100

typedef union _CommParam //通信参数0066
{
	uint8_t configBuff[8];//20210513 杨 从512修改为8
	struct
	{
		uint8_t  ProtectedFlag;
		//通讯参数
		uint8_t cComLocalAddr;			//本机地址	0－主机（上位机）1～127本机地址
		uint8_t cComBaute;				  //通讯波特率	0－4800bps；1－9600bps；2－19200bps；3－38400bps；
		uint8_t cComAckTime;				//最大应答时间	1～250ms
	}datas;
}CommParam;


enum
{
	MODE_STANDBY = 0,	//´ý»ú¹¤×÷Ä£Ê½
	MODE_RUN,			//¹¤×÷ÔËÐÐÄ£Ê½
	MODE_AUTOPID,		//×Ô¶¯PIDÄ£Ê½
	MODE_REMOTE,		//Ô¶³Ì¿ØÖÆÄ£Ê½
};

extern uint8_t pBus485_Slaver_TxBuffer[RS485_SELVER_TX_NUM];
extern uint8_t gBus485_Slaver_RxBuffer[];
extern uint8_t gBus485_Slaver_RxCounter;
extern uint8_t pBus485_Slaver_TxCounter;

extern uint8_t gErr_Code_SMC;  //SMC通讯错误代码

void DRI_USART3_BaudRate(uint8_t mode);
void DRI_USART3_Config_Switch(uint8_t mode, uint32_t baudRate);
void DRI_MakeModbusSlaverUpMsgCrc(void);
void DRI_SlaverUpStartTx(void);
void DRI_ModbusRTU_Slaver_RX_Process(void);
#endif





